|
Informationen |
|||||
Wir brauchen also eine neue Unit, in der TMyWorld geschrieben wird. Dazu werden wir eine völlige leere Unit von Delphi nehmen (statt der, die bereits im Projekt vorhanden ist).
1. Aufgabe
Eine neue Unit schreiben und einbinden a) Neue Unit einführen - Datei-Neu-Unit Prüfen mit
c) Schreiben Sie mit dem Editor den gesamten Code in die neue Unit
und fügen Sie alles UNIT uMyWorld;
(* ******************************************************************** *)
(* K L A S S E : TMyWorld *)
(* -------------------------------------------------------------------- *)
(* Version : 2.2 *)
(* Autor : *)
(* Beschreibung: Die Klasse bildet die Welt 'MyWorld'mit einem Haus und *)
(* einem Monster ab. *)
(* Compiler : Delphi 6 *)
(* Aenderungen : 0.9 28-MAR-04 *)
(* ******************************************************************** *)
INTERFACE
// =======================================================================
uses
uWelt,
uCritter; // und was man man sonst gern drin hätte
type
TMyWorld = class(TWelt) // erbt alles von TWelt
protected
Haus : THaus;
Critter : TCritter;
public
constructor Create; override;
procedure Init;
end;
(* -------------------- B e s c h r e i b u n g -------------------------
Oberklasse : TWelt
Bezugsklassen : - import:
Methoden
--------
Create
Auftrag: Haus, Critter erzeugen und init.
Alle Objekte der vorigen Welt entfernen
vorher :
nachher: done.
Init
Auftrag: Anfangswerte setzen
vorher :
nachher: Fuellfarbe grün, Rasterlinie Silber
--------------------------------------------------------------------- *)
IMPLEMENTATION
// ====================================================================
USES graphics,
uFenster; // importiert Welt und was gebraucht wird
constructor TMyWorld.Create;
// --------------------------------------------------------------------
begin
inherited Create;
Welt.AlleItemsEntfernen; // alten Kram weg
Haus := THaus.Create; // die aggregierten Objekte erzeugen
Haus.SetPos ('H',2);
Critter := TCritter.Create;
Critter.SetPos ('A',8);
Critter.SetBild ('.\bilder\monster.bmp');
// ...... und was Sie sonst brauchen
Init;
Welt.AllesZeigen;
end;
procedure TMyWorld.Init;
// --------------------------------------------------------------------
begin
SetFuellFarbe(clgreen);
Welt.SetLinienFarbe(clSilver);
end;
END. // -------- UNIT -------------
Starten, im Menü aufrufen und testen!
|
|
|
© 02. März 2005 Siegfried Spolwig |
||